Advanced machine vision systems are increasingly employed in a variety of manufacturing and quality control processes. Machine vision enables quick, accurate, and repeatable results to be obtained in the production of mass-produced and custom products. Typical machine vision systems can include one or more cameras, having, for example, solid-state charge couple device (CCD) imaging elements, that can be directed at an area of interest, image processing elements that can capture and transmit images, a computer for running the machine vision software application and being capable of processing the captured images, and apparatus for appropriately illuminating the area of interest.
Machine vision applications can involve the inspection of components and their surfaces to identify defects that can affect quality. Where sufficiently serious defects are identified, a part of a surface can be marked as defective or even unacceptable. Typically, advanced machine vision systems acquire an image of a pattern via a camera and analyze the outline or a particular part of the pattern, such as a predetermined mark. Machine vision systems, such as the PatMax® product available from Cognex Corporation of Natick, Mass., can process a large number of real time calculations performed in a short time frame. This particularly enables determining the coordinates within an image reference system for each analyzed point in the viewed area, and correlating these through repetition with a desired pattern. Machine vision systems can map the locations of various points in the captured image to stored points in a model image, and determine whether the captured image points fall within an acceptable range of values relative to the model image points. In addition, using various decision algorithms, a system can decide whether the viewed pattern, in a particular rotation, scale, and pose corresponds to a desired search pattern. In that case, the system can confirm that the viewed pattern is, in fact, the pattern for which the system is searching for and can perform specific tasks, for example, fix the pattern's position and orientation, pick objects from or sort objects in an assembly line, and count objects in the assembly line.
Prior art techniques for registering a pattern often provide incorrect registration of consistent features, i.e., features that appear consistently in all images taken of a particular view. This may be due to variations in location of the feature, changes in lighting conditions, etc. In addition, prior art techniques cannot provide registration of differentiating features that appear in images that correspond to similar objects. What is needed is a technique to enable the training of a machine vision system to detect consistent and differentiating features under high degrees of variability.